366 research outputs found

    Sequential products in effect categories

    Full text link
    A new categorical framework is provided for dealing with multiple arguments in a programming language with effects, for example in a language with imperative features. Like related frameworks (Monads, Arrows, Freyd categories), we distinguish two kinds of functions. In addition, we also distinguish two kinds of equations. Then, we are able to define a kind of product, that generalizes the usual categorical product. This yields a powerful tool for deriving many results about languages with effects

    Patterns for computational effects arising from a monad or a comonad

    Full text link
    This paper presents equational-based logics for proving first order properties of programming languages involving effects. We propose two dual inference system patterns that can be instanciated with monads or comonads in order to be used for proving properties of different effects. The first pattern provides inference rules which can be interpreted in the Kleisli category of a monad and the coKleisli category of the associated comonad. In a dual way, the second pattern provides inference rules which can be interpreted in the coKleisli category of a comonad and the Kleisli category of the associated monad. The logics combine a 3-tier effect system for terms consisting of pure terms and two other kinds of effects called 'constructors/observers' and 'modifiers', and a 2-tier system for 'up-to-effects' and 'strong' equations. Each pattern provides generic rules for dealing with any monad (respectively comonad), and it can be extended with specific rules for each effect. The paper presents two use cases: a language with exceptions (using the standard monadic semantics), and a language with state (using the less standard comonadic semantics). Finally, we prove that the obtained inference system for states is Hilbert-Post complete

    Technologies de transformation de la noix de coco adaptables à Ouvéa. Etude réalisée à la demande de l'ERPA

    Full text link
    Ce rapport fait suite à la demande d'étude de l'ERPA pour la détermination des technologies de valorisation de la noix de coco adaptables sur l'île d'Ouvéa, compte tenu des structures locales d'exploitation et de la taille du marché territorial. Il fait également suite à la mission CIRAD de décembre 91. Le potentiel de production de coprah sur l'île d'Ouvéa est défini, en référence aux nombreuses études sur ce sujet. On souligne que l'activité savonnerie, débouché d'importance vitale pour le coprah, doit être conservée dans une structure à définir. On recommande une mission d'évaluation pour l'utilisation de l'huile de coco brute comme carburant. Le procédé de séchage-friture appliqué à la fabrication d'huile alimentaire, fait l'objet d'une demande de financement CORDET 92. On envisage le développement du projet en Nouvelle Calédonie à l'aide de plusieurs missions de soutien

    Breaking a monad-comonad symmetry between computational effects

    Full text link
    Computational effects may often be interpreted in the Kleisli category of a monad or in the coKleisli category of a comonad. The duality between monads and comonads corresponds, in general, to a symmetry between construction and observation, for instance between raising an exception and looking up a state. Thanks to the properties of adjunction one may go one step further: the coKleisli-on-Kleisli category of a monad provides a kind of observation with respect to a given construction, while dually the Kleisli-on-coKleisli category of a comonad provides a kind of construction with respect to a given observation. In the previous examples this gives rise to catching an exception and updating a state. However, the interpretation of computational effects is usually based on a category which is not self-dual, like the category of sets. This leads to a breaking of the monad-comonad duality. For instance, in a distributive category the state effect has much better properties than the exception effect. This remark provides a novel point of view on the usual mechanism for handling exceptions. The aim of this paper is to build an equational semantics for handling exceptions based on the coKleisli-on-Kleisli category of the monad of exceptions. We focus on n-ary functions and conditionals. We propose a programmer's language for exceptions and we prove that it has the required behaviour with respect to n-ary functions and conditionals.Comment: arXiv admin note: substantial text overlap with arXiv:1310.060

    TEMPOS: A Platform for Developing Temporal Applications on Top of Object DBMS

    Get PDF
    This paper presents TEMPOS: a set of models and languages supporting the manipulation of temporal data on top of object DBMS. The proposed models exploit object-oriented technology to meet some important, yet traditionally neglected design criteria related to legacy code migration and representation independence. Two complementary ways for accessing temporal data are offered: a query language and a visual browser. The query language, namely TempOQL, is an extension of OQL supporting the manipulation of histories regardless of their representations, through fully composable functional operators. The visual browser offers operators that facilitate several time-related interactive navigation tasks, such as studying a snapshot of a collection of objects at a given instant, or detecting and examining changes within temporal attributes and relationships. TEMPOS models and languages have been formalized both at the syntactical and the semantical level and have been implemented on top of an object DBMS. The suitability of the proposals with regard to applications' requirements has been validated through concrete case studies

    Decorated proofs for computational effects: Exceptions

    Full text link
    We define a proof system for exceptions which is close to the syntax for exceptions, in the sense that the exceptions do not appear explicitly in the type of any expression. This proof system is sound with respect to the intended denotational semantics of exceptions. With this inference system we prove several properties of exceptions.Comment: 11 page

    A Universalist strategy for the design of Assistive Technology

    Get PDF
    Assistive Technologies are specialized products aiming to partly compensate for the loss of autonomy experienced by disabled people. Because they address special needs in a highly-segmented market, they are often considered as niche products. To improve their design and make them tend to Universality, we propose the EMFASIS framework (Extended Modularity, Functional Accessibility, and Social Integration Strategy). We first elaborate on how this strategy conciliates niche and Universalist views, which may appear conflicting at first sight. We then present three examples illustrating its application for designing Assistive Technologies: the design of an overbed table, an upper-limb powered orthose and a powered wheelchair. We conclude on the expected outcomes of our strategy for the social integration and participation of disabled people

    A duality between exceptions and states

    Full text link
    In this short note we study the semantics of two basic computational effects, exceptions and states, from a new point of view. In the handling of exceptions we dissociate the control from the elementary operation which recovers from the exception. In this way it becomes apparent that there is a duality, in the categorical sense, between exceptions and states

    States and exceptions considered as dual effects

    Full text link
    In this paper we consider the two major computational effects of states and exceptions, from the point of view of diagrammatic logics. We get a surprising result: there exists a symmetry between these two effects, based on the well-known categorical duality between products and coproducts. More precisely, the lookup and update operations for states are respectively dual to the throw and catch operations for exceptions. This symmetry is deeply hidden in the programming languages; in order to unveil it, we start from the monoidal equational logic and we add progressively the logical features which are necessary for dealing with either effect. This approach gives rise to a new point of view on states and exceptions, which bypasses the problems due to the non-algebraicity of handling exceptions
    corecore